Namespaces
Variants

std::literals::chrono_literals:: operator""min

From cppreference.net
헤더 파일에 정의됨 <chrono>
constexpr chrono :: minutes
operator "" min ( unsigned long long mins ) ;
(1) (C++14 이후)
constexpr chrono :: duration < /*unspecified*/ , ratio < 60 , 1 >>
operator "" min ( long double mins ) ;
(2) (C++14 이후)

분을 나타내는 std::chrono::duration 리터럴을 형성합니다.

1) 정수 리터럴, 정확히 std:: chrono :: minutes ( mins ) 를 반환합니다.
2) 부동소수점 리터럴, std::chrono::minutes 와 동등한 부동소수점 지속 시간을 반환합니다.

목차

매개변수

mins - 분(minutes) 수

반환값

std::chrono::duration 리터럴.

가능한 구현

constexpr std::chrono::minutes operator""min(unsigned long long m)
{
    return std::chrono::minutes(m);
}
constexpr std::chrono::duration<long double,
                                std::ratio<60,1>> operator""min(long double m)
{
    return std::chrono::duration<long double, ratio<60,1>> (m);
}

참고 사항

이 연산자는 네임스페이스 std :: literals :: chrono_literals 에서 선언되며, 여기서 literals chrono_literals 는 모두 인라인 네임스페이스 입니다. 이 연산자에 접근하려면 다음과 같이 할 수 있습니다:

  • using namespace std :: literals ,
  • using namespace std :: chrono_literals , 또는
  • using namespace std :: literals :: chrono_literals .

또한, 네임스페이스 std :: chrono 내에서 using namespace literals :: chrono_literals ; 지시문이 표준 라이브러리 에 의해 제공되므로, 프로그래머가 using namespace std :: chrono ; 를 사용하여 chrono 라이브러리 의 클래스들에 접근할 경우, 해당 리터럴 연산자들도 함께 표시됩니다.

예제

#include <chrono>
#include <iostream>
int main()
{
    using namespace std::chrono_literals;
    auto lesson = 45min;
    auto halfmin = 0.5min;
    std::cout << "One lesson is " << lesson.count() << " minutes"
                 " (" << lesson << ")\n"
              << "Half a minute is " << halfmin.count() << " minutes"
                 " (" << halfmin << ")\n";
}

출력:

One lesson is 45 minutes (45min)
Half a minute is 0.5 minutes (0.5min)

참고 항목

새로운 duration을 생성
( std::chrono::duration<Rep,Period> 의 public 멤버 함수)